<template>
  <!-- 批量员工导入组件 -->
  <UploadExcel :on-success="success" />
</template>

<script>
import { importEmployee } from "@/api/employess"; // 批量员工接口

export default {
  methods: {
    async success({ header, results }) {
      // console.log(header);
      // console.log(results);
      const userRelations = {
        入职日期: "timeOfEntry",
        手机号: "mobile",
        姓名: "username",
        转正日期: "correctionTime",
        工号: "workNumber",
      };

      // results.map此时 item 是 每一个对象
      const newArr = results.map((item) => {
        // console.log(item);
        const userInfo = {};
        // 将对象的 属性名取出来 key 为 每一个属性名
        Object.keys(item).forEach((key) => {
          // 判断将 userRelations[key] 英文 等于 timeOfEntry 或 correctionTime 时候转化
          if (
            userRelations[key] === "timeOfEntry" ||
            userRelations[key] === "correctionTime"
          ) {
            // userRelations[key] 中括号语法 取出 userRelations 内 定义的英文
            // userInfo[userRelations[key]] 添加这个英文属性名
            // item[key] 取出 item 每个对象的内容
            userInfo[userRelations[key]] = new Date(
              this.formatDate(item[key], "/")
            );
          } else {
            userInfo[userRelations[key]] = item[key];
          }
          // userInfo[userRelations[key]] = item[key];
        });
        return userInfo;
      });

      await importEmployee(newArr);
      this.$message.success("导入成功");
      this.$router.back();
    },

    // Excle 导出时的日期转化
    formatDate(numb, format) {
      const time = new Date((numb - 1) * 24 * 3600000 + 1);
      time.setYear(time.getFullYear() - 70);
      const year = time.getFullYear() + "";
      const month = time.getMonth() + 1 + "";
      const date = time.getDate() - 1 + "";
      if (format && format.length === 1) {
        return year + format + month + format + date;
      }
      return (
        year +
        (month < 10 ? "0" + month : month) +
        (date < 10 ? "0" + date : date)
      );
    },
  },
};
</script>

<style></style>
